The term “cloud computing” is generally used to describe a computing model which enables on-demand access to a shared pool of computing resources, such as computer networks, servers, software applications, and services, and which allows for rapid provisioning and release of resources with minimal management effort or service provider interaction.
A cloud computing environment (sometimes referred to as a cloud environment, or a cloud) can be implemented in a variety of different ways to best suit different requirements. Generally, a cloud computing model enables some of those responsibilities which previously may have been provided by an organization's own information technology department, to instead be delivered as service layers within a cloud environment, for use by consumers (either within or external to the organization, according to the cloud's public/private nature).
As an illustrative example, a cloud computing model can be implemented as Platform as a Service (PaaS), in which consumers can use software programming languages and development tools supported by a PaaS provider to develop, deploy, and otherwise control their own applications, while PaaS providers manages or controls other aspects of the cloud environment (i.e., everything below the run-time execution environment). In addition, the PaaS providers can provide support to satisfy a service's infrastructural requirements, e.g., database support for transactional-logs and timer-service.
However, support for applications deployed in a PaaS service often needs to be manually configured by an application deployer, which is time consuming and error prone. These are the general areas that embodiments of the invention are intended to address.